<?php

/**
 * AplicacionBeca form base class.
 *
 * @method AplicacionBeca getObject() Returns the current form's model object
 *
 * @package    auip
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormGeneratedTemplate.php 29553 2010-05-20 14:33:00Z Kris.Wallsmith $
 */
abstract class BaseAplicacionBecaForm extends BaseFormDoctrine
{
  public function setup()
  {
     $this->setWidgets(array(
      'beca_id'                  => new sfWidgetFormInputHidden(),//=> new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Beca'), 'add_empty' => false)),//=> new sfWidgetFormInputHidden(),
      'usuario_id'               => new sfWidgetFormInputHidden(),//=> new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Usuario'), 'add_empty' => false)),//=> new sfWidgetFormInputHidden(),      
      //'beca_id' => new sfWidgetFormInputText(),
      //'usuario_id' => new sfWidgetFormInputText(),
      'identificacion_pasaporte' => new sfWidgetFormInputText(array('label'=>'Identificación o Pasaporte'), array()),
      'pais_id'                  => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Pais'), 'add_empty' => false, 'order_by' => array('nombre','asc') ) ),
      //'fecha_nacimiento'         => new sfWidgetFormDate(array('format' => '%day% - %month% - %year%', 'years' => array_combine($anios, $anios), 'default' => $hoy )),
      'fecha_nacimiento'         => new sfWidgetFormInputText(array(), array('class'=>'fecha_nacimiento','maxlength' => '10', 'id'=>'fecha_nacimiento', 'readonly'=>'true')),
      'lugar_nacimiento'         => new sfWidgetFormInputText(),
      'universidad_origen'       => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Universidad'), 'add_empty' => 'Seleccione Entidad Origen', 'order_by' => array('nombre','asc'))),
      //'universidad_destino'      => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Universidad'), 'add_empty' => 'Seleccione Entidad Destino', 'order_by' => array('nombre','asc'))),
      'universidad_destino'      => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Universidad'), 'query' => Doctrine_Query::create()->select('u.id, u.nombre')->from('Universidad u')->where('u.region_id= 2783'/*, $sf_user->getAttribute('tipo_beca_id')*/), 'add_empty' => 'Seleccione Entidad Destino', 'order_by' => array('nombre','asc'))),
        //'universidad_destino'      => new sfWidgetFormDoctrineChoice(array('model' => 'UniversidadesBeca', 'query' => Doctrine_Query::create()->select('u.id_beca, u.id_universidad')->from('UniversidadesBeca u')->where('u.id_beca= 3'/*, $sf_user->getAttribute('tipo_beca_id')*/), 'add_empty' => 'Seleccione Entidad Destino', 'order_by' => array('nombre','asc'))),
      'titulo'                   => new sfWidgetFormInputText(array(), array('size' => '41')),
      'telefono'                 => new sfWidgetFormInputText(array(), array('size' => '41')),
      'direccion'                => new sfWidgetFormInputText(array(), array('size' => '41')),
      'actividades'            => new sfWidgetFormTextArea(array(), array('class'=>'nombre','rows' => '8', 'cols' => '85')),      
      'informacion_adicional'    => new sfWidgetFormTextarea(array(), array('class'=>'nombre','rows' => '8', 'cols' => '85')),
    ));

    $this->setValidators(array(
      'beca_id'                  => new sfValidatorChoice(array('choices' => array($this->getObject()->get('beca_id')), 'empty_value' => $this->getObject()->get('beca_id'), 'required' => false)),
      'usuario_id'               => new sfValidatorChoice(array('choices' => array($this->getObject()->get('usuario_id')), 'empty_value' => $this->getObject()->get('usuario_id'), 'required' => false)),
      'identificacion_pasaporte' => new sfValidatorString(),
      'pais_id'                  => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Pais'))),
      'fecha_nacimiento'         => new sfValidatorDate(array('required' => false)),
      'lugar_nacimiento'         => new sfValidatorString(array('required' => false)),
      'universidad_origen'       => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Universidad_4'))),
      'direccion'                => new sfValidatorString(array('required' => false)),
      'universidad_destino'      => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Universidad'), 'required' => false)),
      'titulo'                   => new sfValidatorString(array('required' => false)),
      'telefono'                 => new sfValidatorString(array('required' => false)),
      'actividades'              => new sfValidatorString(array('required' => false)),
      'informacion_adicional'    => new sfValidatorString(array('required' => false)),
    ));    

    $this->widgetSchema->setNameFormat('aplicacion_beca[%s]');

    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);

    $this->setupInheritance();

    parent::setup();
  }

  public function getModelName()
  {
    return 'AplicacionBeca';
  }

}
